#ifndef IMODELEDITOR_H
#define IMODELEDITOR_H

#include <QString>
#include <QSharedPointer>
#include "gen2/SemanticModel.h"

struct IModelEditor
{
	virtual bool dirty() = 0;
	virtual void setDirty(bool dirty) = 0;
	virtual const QString& fileFilter() = 0;

	virtual void clear() = 0;
	virtual bool save(const QString& path) = 0;
	virtual bool load(const QString& path) = 0;

	virtual void setModel(const SemanticModel::Model& m) = 0;
	virtual SemanticModel::ModelPtr generateModel() = 0;

};

#endif // IMODELEDITOR_H
